请详细阅读操作文档,结合实际情况进行配置:
若操作不当将可能导致网络卡顿甚至断网等异常情况。
若网络中存在业务的情况下,请同步客户风险并征得客户同意后再操作。
若您不清楚造成的影响或对操作不熟练,请不要操作,请联系专业的锐捷售后工程师进行评估后再决定是否操作。
应用场景:
在OSPF域内对路由进行汇总,过滤控制的点通常是在ABR,ASBR上面做,因为这两个点是LSA3,LSA4,LSA5,LSA7这样的链路通告产生的点,常见的手段就是area range,summary-address,route-map这样的命令,但是如果是针对普通区域的,普通路由器来说对于他收发的LSA我们已经无法控制,也就无法控制这样的普通路由器的路由学习的结果,而在有些情况下我们还是希望能够改变这样的限制,控制这样的点的路由学习,通告的一个结果,以便满足管理员对特点网段路由的一个按需学习的目的,此时就可以用distribute-list工具来帮您解决这样的问题。
distribute-list通常用于OSPF路由协议中,他可以应用到任意的一台路由器(包括ABR,ASBR)上进行路由条目过滤,当然需要注意他是基于整个OSPF进程调用的,而不是接口。
功能简介:
distribute-list 分发列表,通过distribute-list 工具对路由更新进行控制,只能进行路由条目过滤,不能修改路由的属性。
一、组网需求
在SW2上把rip路由重分发进ospf,并且在重分发时进行路由过滤,只允许路由172.16.1.32/28、172.16.1.48/29、172.16.1.56/30重分发进ospf
二、组网拓扑
三、配置要点
1、基本ip地址配置
2、SW1、SW2启用rip协议,并将对应接口通告到rip进程
3、SW2、SW3启用ospf协议,并将对应接口通告到ospf进程
4、在SW2上把rip学习到的路由重分发进ospf
5、通过acl或前缀列表,把需要学习的路由匹配出来
6、SW2 rip路由重分发进ospf,使用distribute-list 过滤路由
三、配置步骤
1、基本ip地址配置
Ruijie>en
Ruijie#config ter
Ruijie(config)#hostname SW1
SW1(config)#interface GigabitEthernet 0/1
SW1(config-if-GigabitEthernet 0/1)#no switchport
SW1(config-if-GigabitEthernet 0/1)#ip address 192.168.1.1 255.255.255.0
SW1(config-if-GigabitEthernet 0/1)#exit
SW1(config)#interface loopback 1
SW1(config-if-Loopback 1)#ip address 172.16.1.1 255.255.255.224
SW1(config-if-Loopback 1)#exit
SW1(config)#interface loopback 2
SW1(config-if-Loopback 2)#ip address 172.16.1.33 255.255.255.240
SW1(config-if-Loopback 2)#exit
SW1(config)#interface loopback 3
SW1(config-if-Loopback 3)#ip address 172.16.1.49 255.255.255.248
SW1(config-if-Loopback 3)#exit
SW1(config)#interface loopback 4
SW1(config-if-Loopback 4)#ip address 172.16.1.57 255.255.255.252
SW1(config-if-Loopback 4)#exit
Ruijie(config)#hostname SW2
SW2(config)#interface GigabitEthernet 0/2
SW2(config-if-GigabitEthernet 0/2)#no switchport
SW2(config-if-GigabitEthernet 0/2)#ip address 192.168.1.2 255.255.255.0
SW2(config-if-GigabitEthernet 0/2)#exit
SW2(config)#interface GigabitEthernet 0/1
SW2(config-if-GigabitEthernet 0/1)#no switchport
SW2(config-if-GigabitEthernet 0/1)#ip address 192.168.2.1 255.255.255.0
SW2(config-if-GigabitEthernet 0/1)#exit
Ruijie(config)#hostname SW3
SW3(config)#interface GigabitEthernet 0/2
SW3(config-if-GigabitEthernet 0/2)#no switchport
SW3(config-if-GigabitEthernet 0/2)#ip address 192.168.2.2 255.255.255.0
SW3(config-if-GigabitEthernet 0/2)#exit
2、SW1、SW2启用rip协议,并将对应接口通告到rip进程
SW1(config)#router rip
SW1(config-router)#version 2 ----->启用rip版本2
SW1(config-router)#no auto-summary ----->关闭自动汇总
SW1(config-router)#network 172.16.0.0 ----->将172.16.0.0的主类网络通告到rip进程
SW1(config-router)#network 192.168.1.0
SW1(config-router)#exit
SW2(config)#router rip
SW2(config-router)#version 2
SW2(config-router)#no auto-summary
SW2(config-router)#network 192.168.1.0
SW2(config-router)#exit
3、SW2、SW3启用ospf协议,并将对应接口通告到ospf进程
SW2(config)#router ospf 1 ----->启用ospf进程 1
SW2(config-router)#network 192.168.2.1 0.0.0.0 area 0 ----->将192.168.2.1对应的接口通告到ospf 进程1的区域 0
SW2(config-router)#exit
SW3(config)#router ospf 1
SW3(config-router)#network 192.168.2.2 0.0.0.0 area 0
SW3(config-router)#exit
4、在SW2上把rip学习到的路由重分发进ospf
SW2(config)#router ospf 1
SW2(config-router)#redistribute rip subnets ----->将rip路由重分发进ospf,必须加subnet
SW2(config-router)#exit
5、通过acl或前缀列表,把需要学习的路由匹配出来
注意:
1)匹配路由条目的工具有acl和前缀列表两种,只要选择其中一种就可以
2)若需要匹配一个大网段下的不同掩码长度的路由前缀时,前缀列表会更方便一些,当然用acl也是可以的,只是要写多个条目
如下示例,匹配路由条目172.16.1.32/27、172.16.1.48/28和172.16.1.56/29,acl需要写3个ace条目,前缀列表只要1个条目
1)使用acl匹配路由条目
注意:
此处acl匹配的是路由条目,掩码用0.0.0.0精确匹配对应的路由条目
SW2(config)#ip access-list standard 1
SW2(config-std-nacl)#10 permit 172.16.1.32 0.0.0.0
SW2(config-std-nacl)#20 permit 172.16.1.48 0.0.0.0
SW2(config-std-nacl)#30 permit 172.16.1.56 0.0.0.0
SW2(config-std-nacl)#exit
2)使用前缀列表匹配路由条目
注意:
1)前缀列表只能用来匹配路由条目,不能用来做数据包过滤
2)前缀列表匹配的是一个网段下的子网,ge代表大于等于多少位掩码,le代表小于多少位掩码
3)前缀列表也是从上往下匹配,最后隐含一条deny any
SW2(config)#ip prefix-list ruijie seq 10 permit 172.16.1.0/24 ge 28 le 30 ----->定义前缀列表ruijie,匹配前缀为172.16.1.0/24,子网掩码大于等于28小于等于30的路由条目
6、SW2 rip路由重分发进ospf,使用distribute-list 过滤路由
注意
1)distribute-list过滤的路由条目是由acl和前缀列表匹配出来的,具体过滤什么路由条目是由acl和前缀列表决定的
2)distribute-list可以运用的地方为,路由协议重分发时、距离矢量路由协议邻居之间的路由传递(距离矢量协议邻居之间传递的是路由,因此可以做路由过滤)及链路状态路由协议将路由提交路由表时(链路状态协议邻居之间传递的是lsa并非路由,不能过滤邻居之间传递的lsa)。
如下以distribute-list 调用acl及前缀列表做路由过滤,分别举例:
1)distribute-list 调用acl做路由过滤
SW2(config)#router ospf 1
SW2(config-router)#distribute-list 1 out rip ----->把rip路由重分发进ospf时做路由过滤(注意方向必须是out)
SW2(config-router)#exit
2)distribute-list 调用前缀列表做路由过滤
SW2(config)#router ospf 1
SW2(config-router)#distribute-list prefix ruijie out rip ----->把rip路由重分发进ospf时做路由过滤(注意方向必须是out)
SW2(config-router)#exit
补充:
1)距离矢量协议使用distribute-list 过滤邻居之间传递的路由条目,命令如下:
SW2(config)#router rip
SW2(config-router)#distribute-list 1 in GigabitEthernet 0/2 ----->1代表acl 列表 1,也可用前缀列表; in代表从邻居学习的路由,若为out则是传递给邻居的路由;还可以加上具体的接口
2)链路状态协议使用distribute-list 过滤提交给路由表的路由条目
SW2(config)#router ospf 1
SW2(config-router)#distribute-list 1 in ----->代表acl 列表 1,也可用前缀列表; 方向必须为in
四、功能验证
查看SW3的路由条目,若SW3学习到的路由条目为 172.16.1.32/28、172.16.1.48/29、172.16.1.56/30 则distribute-list做路由过滤配置正确
SW3#show ip route
Codes: C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default
Gateway of last resort is no set
O E2 172.16.1.32/28 [110/20] via 192.168.2.1, 00:02:45, GigabitEthernet 0/2
O E2 172.16.1.48/29 [110/20] via 192.168.2.1, 00:02:29, GigabitEthernet 0/2
O E2 172.16.1.56/30 [110/20] via 192.168.2.1, 00:02:21, GigabitEthernet 0/2
C 192.168.2.0/24 is directly connected, GigabitEthernet 0/2
C 192.168.2.2/32 is local host.